package com.zf.yichat.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

@Table(name = "user_mission")
public class UserMission implements Serializable {
    @Id
    private Long id;

    /**
     * 任务码
     */
    @Column(name = "mission_code")
    private String missionCode;

    /**
     * 任务ID
     */
    @Column(name = "mission_id")
    private Long missionId;

    /**
     * 获取金额
     */
    private BigDecimal money;

    /**
     * 金额是否入账 0否 1是
     */
    @Column(name = "balance_status")
    private Integer balanceStatus;

    /**
     * -1 取消  0进行中 1待审核  2已审核通过   3审核不通过 4超时自动审核通过
     */
    private Integer status;

    /**
     * 提交的图片
     */
    private String imgs;

    /**
     * 提交的备注
     */
    private String memo;

    /**
     * 提交时间
     */
    @Column(name = "submit_time")
    private Date submitTime;

    @Column(name = "check_time")
    private Date checkTime;

    /**
     * 拒绝原因
     */
    @Column(name = "refuse_reason")
    private String refuseReason;

    /**
     * 领取人ID
     */
    @Column(name = "user_id")
    private Long userId;

    /**
     * 任务发布人ID
     */
    @Column(name = "mission_user_id")
    private Long missionUserId;

    private Date ctime;

    private static final long serialVersionUID = 1L;

    public UserMission(Long id, String missionCode, Long missionId, BigDecimal money, Integer balanceStatus, Integer status, String imgs, String memo, Date submitTime, Date checkTime, String refuseReason, Long userId, Long missionUserId, Date ctime) {
        this.id = id;
        this.missionCode = missionCode;
        this.missionId = missionId;
        this.money = money;
        this.balanceStatus = balanceStatus;
        this.status = status;
        this.imgs = imgs;
        this.memo = memo;
        this.submitTime = submitTime;
        this.checkTime = checkTime;
        this.refuseReason = refuseReason;
        this.userId = userId;
        this.missionUserId = missionUserId;
        this.ctime = ctime;
    }

    public UserMission() {
        super();
    }

    /**
     * @return id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取任务码
     *
     * @return mission_code - 任务码
     */
    public String getMissionCode() {
        return missionCode;
    }

    /**
     * 设置任务码
     *
     * @param missionCode 任务码
     */
    public void setMissionCode(String missionCode) {
        this.missionCode = missionCode == null ? null : missionCode.trim();
    }

    /**
     * 获取任务ID
     *
     * @return mission_id - 任务ID
     */
    public Long getMissionId() {
        return missionId;
    }

    /**
     * 设置任务ID
     *
     * @param missionId 任务ID
     */
    public void setMissionId(Long missionId) {
        this.missionId = missionId;
    }

    /**
     * 获取获取金额
     *
     * @return money - 获取金额
     */
    public BigDecimal getMoney() {
        return money;
    }

    /**
     * 设置获取金额
     *
     * @param money 获取金额
     */
    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    /**
     * 获取金额是否入账 0否 1是
     *
     * @return balance_status - 金额是否入账 0否 1是
     */
    public Integer getBalanceStatus() {
        return balanceStatus;
    }

    /**
     * 设置金额是否入账 0否 1是
     *
     * @param balanceStatus 金额是否入账 0否 1是
     */
    public void setBalanceStatus(Integer balanceStatus) {
        this.balanceStatus = balanceStatus;
    }

    /**
     * 获取-1 取消  0进行中 1待审核  2已审核通过   3审核不通过 4超时自动审核通过
     *
     * @return status - -1 取消  0进行中 1待审核  2已审核通过   3审核不通过 4超时自动审核通过
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置-1 取消  0进行中 1待审核  2已审核通过   3审核不通过 4超时自动审核通过
     *
     * @param status -1 取消  0进行中 1待审核  2已审核通过   3审核不通过 4超时自动审核通过
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取提交的图片
     *
     * @return imgs - 提交的图片
     */
    public String getImgs() {
        return imgs;
    }

    /**
     * 设置提交的图片
     *
     * @param imgs 提交的图片
     */
    public void setImgs(String imgs) {
        this.imgs = imgs == null ? null : imgs.trim();
    }

    /**
     * 获取提交的备注
     *
     * @return memo - 提交的备注
     */
    public String getMemo() {
        return memo;
    }

    /**
     * 设置提交的备注
     *
     * @param memo 提交的备注
     */
    public void setMemo(String memo) {
        this.memo = memo == null ? null : memo.trim();
    }

    /**
     * 获取提交时间
     *
     * @return submit_time - 提交时间
     */
    public Date getSubmitTime() {
        return submitTime;
    }

    /**
     * 设置提交时间
     *
     * @param submitTime 提交时间
     */
    public void setSubmitTime(Date submitTime) {
        this.submitTime = submitTime;
    }

    /**
     * @return check_time
     */
    public Date getCheckTime() {
        return checkTime;
    }

    /**
     * @param checkTime
     */
    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    /**
     * 获取拒绝原因
     *
     * @return refuse_reason - 拒绝原因
     */
    public String getRefuseReason() {
        return refuseReason;
    }

    /**
     * 设置拒绝原因
     *
     * @param refuseReason 拒绝原因
     */
    public void setRefuseReason(String refuseReason) {
        this.refuseReason = refuseReason == null ? null : refuseReason.trim();
    }

    /**
     * 获取领取人ID
     *
     * @return user_id - 领取人ID
     */
    public Long getUserId() {
        return userId;
    }

    /**
     * 设置领取人ID
     *
     * @param userId 领取人ID
     */
    public void setUserId(Long userId) {
        this.userId = userId;
    }

    /**
     * 获取任务发布人ID
     *
     * @return mission_user_id - 任务发布人ID
     */
    public Long getMissionUserId() {
        return missionUserId;
    }

    /**
     * 设置任务发布人ID
     *
     * @param missionUserId 任务发布人ID
     */
    public void setMissionUserId(Long missionUserId) {
        this.missionUserId = missionUserId;
    }

    /**
     * @return ctime
     */
    public Date getCtime() {
        return ctime;
    }

    /**
     * @param ctime
     */
    public void setCtime(Date ctime) {
        this.ctime = ctime;
    }
}